home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / util / cdity / cx22.lha / CX2.2 / Quelltext / CX.mod < prev    next >
Text File  |  1995-05-29  |  2KB  |  90 lines

  1. (*
  2. :Program.       CX
  3. :Contents.      Ersatz für das Commodities Exchange Programm
  4. :Author.        Fin Schuppenhauer
  5. :Copyright.     Postcardware
  6. :Language.      Modula-2
  7. :Translator.    M2Amiga V4.301d
  8. :History        2.1 Fin Schuppenhauer 10.05.95 (Aminet)
  9. :History        2.0 Fin Schuppenhauer 26.04.95 (Aminet)
  10. :History.       1.3 Fin Schuppenhauer 19.09.94 (Aminet)
  11. :History.       1.1 Fin Schuppenhauer 13.09.94 (Aminet)
  12. :History.       1.0 Fin Schuppenhauer 06.09.94
  13. :Address.       Fin Schuppenhauer, Braußpark 10, 20537 Hamburg
  14. :Address.       E-Mail: 1schuppe@informatik.uni-hamburg.de
  15. *)
  16. MODULE CX;
  17.  
  18.    (* CX.mod - Ersatz für das "Exchange"-Programm der Workbench
  19.     * Version     : $VER: CX.mod 2.2 (© 1995 Fin Schuppenhauer)
  20.     * Autor       : Fin Schuppenhauer
  21.     *               Braußpark 10
  22.     *               20537 Hamburg
  23.     *               (Germany)
  24.     * E-Mail      : 1schuppe@informatik.uni-hamburg.de
  25.     * Erstellt am : 23 Jan 1995
  26.     * Letzte Änd. : 29 Mai 1995
  27.     *)
  28.  
  29.     (*$ DEFINE DEBUG:=FALSE *)
  30.  
  31. IMPORT
  32.     el:ExecL,
  33.     dd:DosD,
  34.     cxw:CXWindow,
  35.     cxc:CXCommodity,
  36.     cxr:CXARexx;
  37.  
  38. FROM SYSTEM IMPORT
  39.     LONGSET, CAST;
  40.  
  41. (* --------------------------------------------------------------- *)
  42.  
  43. PROCEDURE CleanUp;
  44. (* Alles aufräumen und uns vom System verabschieden. Bye, bye... *)
  45. BEGIN
  46.     cxw.CloseWindow;
  47.     cxc.FreeBroker;
  48.     cxr.FreeARexx;
  49. END CleanUp;
  50.  
  51. (* --------------------------------------------------------------- *)
  52.  
  53. PROCEDURE Schubidu;
  54. (* Hauptprogramm-Warteschleife. Nachrichten empfangen und dann
  55.  * reagieren.
  56.  *)
  57. VAR
  58.     done: BOOLEAN;
  59.     rcvdsigs, waitsigs: LONGSET;
  60. BEGIN
  61.     done := FALSE;
  62.  
  63.     WHILE NOT(done) DO
  64.         waitsigs := LONGSET{dd.ctrlC,cxc.brokersignal,cxw.windowsignal,cxr.arexxsignal};
  65.         rcvdsigs := el.Wait(waitsigs);
  66.         IF cxw.windowsignal IN rcvdsigs THEN
  67.             cxw.HandleWindowMsg (done);
  68.         END;
  69.         IF cxc.brokersignal IN rcvdsigs THEN
  70.             cxc.HandleBrokerMsg (done);
  71.         END;
  72.         IF cxr.arexxsignal IN rcvdsigs THEN
  73.             cxr.HandleARexxMsg (done);
  74.         END;
  75.         IF dd.ctrlC IN rcvdsigs THEN
  76.             done := TRUE;
  77.         END;
  78.     END;
  79. END Schubidu;
  80.  
  81. BEGIN (* main *)
  82.     IF cxr.InitARexx() THEN
  83.         IF cxc.InitBroker() THEN
  84.             Schubidu;
  85.         END;
  86.     END;
  87.  
  88.     CleanUp;
  89. END CX.
  90.